package com.candy.dao;



import java.sql.*;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author donglin
 * @Title:
 * @类名: DBTestDriver
 * @date 2020/8/11
 */
public class DBTestDriver {
    public static void main(String[] args) {
        test03();

//        String strSql="INSERT INTO depts(dept_id,name,descripition) VALUES(5,'财务部','绩效考核');";
//        int i=DBHelper.update(strSql);
//        System.out.println(i);
    }
    public static void test03() {
        String strSql="select * from userinfo where userName='admin' and userPsw='admin'";
        List<Map<String,Object>> list=DBHelper.query4ListMap(strSql);
        for (Map<String,Object> mapEachRow:list
             ) {
           Set<Map.Entry<String,Object>> setEn= mapEachRow.entrySet();
            for (Map.Entry<String,Object> en:setEn
                 ) {
                System.out.print("    "+en.getValue());
            }
            System.out.println();
        }
    }
    public static void test02() {
        try {
            ResultSet rs=DBHelper.query("select * from employees");
            while(rs.next()){
                System.out.print("  "+rs.getObject(1));
                System.out.print("  "+rs.getObject(2));
                System.out.println();
            }
            System.out.println("再次对查询结果进行遍历");
            while(rs.next()){
                System.out.print("  "+rs.getObject(2));
                System.out.println();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }


    }
    public static void test01() {
//       （1）注册或实例化jdbc的驱动类
        System.out.println("================jdbc====================");
        //提供jdbc连接数据库的url字符串、数据库驱动类名、用户名、密码
        //jdbc:mysql固定格式；localhost：表示数据库服务器的访问地址（主机名：ip，其中localhost 127.0.0.1  表示主机）
        //3306：mysql数据库的默认监听客户端的端口号；端口号后面是连接的数据库名（写入自己的数据库名）
        String strUrl="jdbc:mysql://localhost:3306/nsd0724? characterEncoding=utf8 & useSSL=false & serverTimezone=UTC & rewriteBatchedStatements=true";
        String strDBDriverType="com.mysql.cj.jdbc.Driver";//数据库驱动类名
        String strUserName="root";//用户名
        String strPwd="123456";//密码

        try {
            //加载数据库驱动类
            Class.forName("com.mysql.cj.jdbc.Driver");//固定写法（反射）
//        （2）获取数据库连接对象Connection
           Connection conn= DriverManager.getConnection(strUrl,strUserName,strPwd);
 //        （3）获取数据库操作对象Statement（执行增删改查）
           Statement st= conn.createStatement();
 //        （4）执行SQL语句，获取数据操作结果或者结果集对象ResultSet
           String str="select * from depts;";
           //接收返回结果
           ResultSet rs=st.executeQuery(str);
//        （5）解析结果集对象ResultSet，进行相关的业务处理；
            //使用while循环进行resultSet的解析
            //next方法用于判断，在查询结果集中有没有下一条记录，在开始前，next方法定位在第一条记录之前的位置
            while(rs.next()){
                System.out.print("  "+rs.getObject(1));
                System.out.print("  "+rs.getObject(2));
                System.out.println();
            }
            rs.close();
            st.close();
            conn.close();


        } catch (Exception e) {
            e.printStackTrace();
        }







    }




}
